package com.aluvfy.jdbc;

import com.aluvfy.jdbc.utils.DbUtils;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

/*
* 使用preparedStatement完成新增操作*/
public class JDBCTest10 {
    public static void main(String[] args) {
        Connection conn = null;
        PreparedStatement ps = null;

        try {
            //1. 注册驱动(因为使用Dbutils，因此这一步没有)
            //2. 获取连接
            conn = DbUtils.getConnection();
            //3。获取预编译的数据库操作对象
            String sql = "insert into t_user(realname, name, password) values(?, ?, ?)";
//            程序执行到这里，会对“预处理的sql语句”进行预编译
            ps = conn.prepareStatement(sql);
            ps.setString(1, "张三");
            ps.setString(2, "aluvfy");
            ps.setString(3, "123456");
//            如果要传date的话，需要把java.time.LocalDate转换为java.sql.Date
//            LocalDate localDate = LocalDate.parse("2022-06-08");
//            ps.setDate(4, java.sql.Date.valueOf(localDate));

            //4. 执行sql语句
            int count = ps.executeUpdate();
            System.out.println("插入了" + count + "条记录");
            //5. 处理查询结果集（由于是新增操作，这一步也没有）


        } catch (SQLException e) {
            throw new RuntimeException(e);
        } finally {
            //6. 关闭资源
            DbUtils.close(conn, ps, null);
        }

    }
}
